//package com.example.springbootdemo.config;
//
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import redis.clients.jedis.Jedis;
//import redis.clients.jedis.JedisPool;
//import redis.clients.jedis.JedisPoolConfig;
//
///**
// * @Author ws
// * @create 2025/7/28 10:40
// */
//@Configuration
//public class JedisConfig {
//    @Value("${spring.redis.host}")
//    private String host;
//
//    @Value("${spring.redis.port}")
//    private int port;
//
//    @Value("${spring.redis.password:}")
//    private String password;
//
//    @Value("${spring.redis.timeout}")
//    private int timeout;
//
//    @Bean
//    public JedisPoolConfig jedisPoolConfig() {
//        JedisPoolConfig config = new JedisPoolConfig();
//        config.setMaxTotal(100);
//        config.setMaxIdle(20);
//        config.setMinIdle(5);
//        config.setTestOnBorrow(true);
//        config.setTestOnReturn(true);
//        return config;
//    }
//
//    @Bean
//    public JedisPool jedisPool(JedisPoolConfig config) {
//        config.setJmxEnabled(false);
//        if (password != null && !password.isEmpty()) {
//            return new JedisPool(config, host, port, timeout, password);
//        } else {
//            return new JedisPool(config, host, port, timeout);
//        }
//    }
//
//    @Bean(destroyMethod = "close")
//    public Jedis jedis(JedisPool jedisPool) {
//        return jedisPool.getResource();
//    }
//}
